package Controladores;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;

import Utilities.Utilizador;

public class CtlPerfil {

	private DataBase connection;
	private PreparedStatement statement = null;
	private ResultSet resultSet = null;
	private CtlFotografias ctlFotografias;

	public CtlPerfil() {
		ctlFotografias = CtlFotografias.getInstance();
		connection = DataBase.getInstance();
	}

	public LinkedList<String> preencheListSeguidores(Utilizador u) {

		LinkedList<String> lista = new LinkedList<String>();
		String state = "select * from Utilizador, follow where follow.emailsguidor = '"
				+ u.getEmail()
				+ "'"
				+ " and follow.emailsgu = utilizador.email";

		try {
			statement = connection.getConn().prepareStatement(state);
			resultSet = statement.executeQuery();
			while (resultSet.next()) {
				lista.add(resultSet.getString("email"));
			}
			return lista;
		} catch (SQLException e) {

		}
		return lista;

	}

	public Utilizador pedirDetalhes(String mail) {
		String state = "select * from Utilizador where email = '" + mail + "'";

		try {
			statement = connection.getConn().prepareStatement(state);
			resultSet = statement.executeQuery();
			while (resultSet.next()) {
				return new Utilizador(resultSet.getString("email"),
						Integer.parseInt(resultSet.getString("idFotografia")),
						resultSet.getString("nome"),
						resultSet.getString("escola"),
						resultSet.getString("cidade"), 
						resultSet.getString("senha"),false);
			}
		} catch (SQLException e) {

		}
		return null;
	}

	public String getFotografia(Utilizador u) {
		return ctlFotografias.getFotografia(null, null, u.getEmail());
		
	}

}
